AIDL是Android接口定义语言,它可以用于让某个Service与多个应用程序组件之间进行跨进程通信,从而可以实现多个应用程序共享同一个Service的功能。
实现步骤
例:用 A程序去访问 B程序的MyService.java服务
- 在B中建立AIDL文件MyAidlService.AIDL,在AIDL文件里写我们的接口方法
- 在MyService中写AIDL文件定义的方法的具体服务逻辑
- 在B的manifest文件中,为Service添加action “com.xyb.servicetest.MyAidlService” 用于A静态来访问Service
(这里是因为,如果用动态Intent (this, MyService.class), 在A中没有MyService这个类) - 把B的AIDL文件夹拷贝到A中,一定要注意包的路径依然为B中的路径
5.在A中利用静态Intent来启动B的服务MyService
对应步骤详细代码:
- MyAidlService.AIDL
|
|
- MyService.Java
|
|
3.添加action
|
|
4.拷贝AIDL文件夹
5.A访问B的服务
|
|
|
|
|
|